Linux命令行文本加密的小技巧
我在学习shell攻略时了解到了这个方法,感觉简单有趣,所以现在把它整理出来和大家分享。
ROT13文本编码
介绍
ROT13(回转13位,rotateby13places,有时中间加了个减号称作ROT-13)是一种简易的置换暗码。把 ROT13 称为“加密”是大方的,“文本模糊处理”更准确些。有时候它被用来隐藏文本中潜在的攻击内容。
原理
套用ROT13到一段文字上仅仅只需要检查字元字母顺序并取代它在13位之后的对应字母,有需要超过时则重新绕回26英文字母开头即可。A换成N、B换成O、依此类推到M换成Z,然后序列反转:N换成A、O换成B、最后Z换成M。只有这些出现在英文。因为移动的位数是可能的 26 个字符的一半,所以对文本再次执行这个算法,就恢复到了它最初的形式。
在命令行使用
tr命令
1. 功能: tr命令,其全称“Text Replacer”,该命令用于进行文本替换。从标准输入中通过替换或删除操作进行字符转换。 tr主要用于删除文件中控制字符或进行字符转换。
2. 选项:
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
实例
加密:
解密:

代码实现
具体代码
/*************************************************************************
> File Name: rot13.c
> Author: AnSwEr
> Mail: [email protected]
> Created Time: 2015年08月18日 星期二 12时02分28秒
************************************************************************/
/*
* realize ROT13 by C
*/
#include<stdio.h>
#include<string.h>
#define MAXSIZE 1024
char *rot13(char * string,unsigned int len)
{
char *str = string;
int i;
for(i = 0;i < len - 1;i++)
{
if(str[i] >= 'a'&&str[i] <= 'z')
str[i] = 'a' + (str[i] - 'a' + 13) % 26;
if(str[i] >= 'A'&&str[i] <= 'Z')
str[i] = 'A' + (str[i] - 'A' + 13) % 26;
}
return str;
}
int main(void)
{
char str_old[MAXSIZE];
char *str_new;
unsigned int length;
printf("Please input your string you want to encrypt by ROT13:\n");
fgets(str_old,sizeof(str_old),stdin);
length = strlen(str_old);
/*encrypt*/
str_new=rot13(str_old,length);
printf("After encrypt,string is:\n");
fputs(str_new,stdout);
/*decrypt*/
length = strlen(str_new);
str_new=rot13(str_new,length);
if(strcmp(str_new,str_old) == 0)
printf("Decrypt successfully!\n");
else
printf("Decrypt failed!\n");
printf("After decrypt,string is:\n");
fputs(str_new,stdout);
return 0;
}
运行截图

如何使用DM-Crypt加密Linux文件系统?:
如何在Linux中产生、加密或解密随机密码:
Linux安全机制之文件加密解密:
Linux关于文件加密的两种方法和详解:
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/server/ml/11109.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
这是另一个例子
时间:2021-01-15
-
请检查 official 这一列上是
时间:2021-01-14
-
方法是使用 ip route 命令:
时间:2021-01-14
-
%W 一年中的第几个星期
时间:2021-01-14
-
6.查看 USB 信息 $ lsusb 要查
时间:2021-01-14
-
ubuntu移植Tcpdump到Android平
时间:2021-01-14
-
可能现在听起来 /dev/zer
时间:2021-01-14
-
history命令使用方法详解
时间:2021-01-05
热门文章
-
绝不要用的Linux命令
时间:2020-12-22
-
如何使用date命令
时间:2020-12-22
-
检查系统和硬件信息的命令
时间:2020-12-22
-
Linux命令输出头(标题)、输出结果排序
时间:2020-12-24
-
Linux命令行工具使用小贴士及技巧(一)
时间:2020-12-24
-
容器监控的命令行工具cTop
时间:2020-12-22
-
Linux命令行文本加密的小技巧
时间:2021-01-05
-
解读ip命令展示的网络连接信息
时间:2020-12-22
-
不常见但是很有用的GCC命令行选项(二)
时间:2020-12-28
-
通过实例学习tcpdump命令
时间:2020-12-22
